Saves a CompositeJpxImages list to a stream in any of the supported JPEG 2000 file formats. This method is available in the Document/Medical Toolkits.
public void SaveComposite(
RasterCodecs codecs,
Stream stream,
List<CompositeJpxImages> compositeImages,
Jpeg2000FileFormat format,
int bitsPerPixel,
int qualityFactor
)
Public Overloads Sub SaveComposite( _
ByVal codecs As RasterCodecs, _
ByVal stream As Stream, _
ByVal compositeImages As List(Of CompositeJpxImages), _
ByVal format As Jpeg2000FileFormat, _
ByVal bitsPerPixel As Integer, _
ByVal qualityFactor As Integer _
)
public:
void SaveComposite(
RasterCodecs^ codecs,
Stream^ stream,
List<CompositeJpxImages^>^ compositeImages,
Jpeg2000FileFormat format,
int bitsPerPixel,
int qualityFactor
)
codecs
The Leadtools.Codecs.RasterCodecs object.
stream
A System.IO.Stream to which the image data will be saved.
compositeImages
List of CompositeJpxImages layer image data that will be saved
format
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.
bitsPerPixel
Resulting file's pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. A value of zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).
qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.
All engine boxes that are currently set will also be saved in this file
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Jpeg2000;
public void SaveCompositeStreamExample(byte[] xmlData)
{
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"));
// Load a JPEG 2000 image
Jpeg2000Engine engine = new Jpeg2000Engine();
List<CompositeJpxImages> images = engine.LoadComposite(codecs, fs, 0, CodecsLoadByteOrder.BgrOrGray);
engine.ResetEngineBoxes();
GtsoBox gtsoBox = (GtsoBox)(engine.ReadBox(fs, Jpeg2000BoxType.GtsoBox, 0));
engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox);
fs.Close();
fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"));
//Save the image in JPX file format
engine.SaveComposite(codecs, fs, images, Jpeg2000FileFormat.LeadJpx, 24, 5);
//Append an XML box
XmlBox xmlBox = new XmlBox();
xmlBox.Data = xmlData;
List<XmlBox> xmlBoxes = new List<XmlBox>();
xmlBoxes.Add(xmlBox);
engine.AppendBoxes(fs, xmlBoxes);
// Clean up
fs.Close();
foreach (CompositeJpxImages image in images)
{
image.ColorImage.Dispose();
image.OpacityImage.Dispose();
image.PreOpacityImage.Dispose();
}
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Jpeg2000
Public Sub SaveCompositeStreamExample(ByVal xmlData() As Byte)
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"))
' Load a JPEG 2000 image
Dim engine As New Jpeg2000Engine()
Dim images As List(Of CompositeJpxImages) = engine.LoadComposite(codecs, fs, 0, CodecsLoadByteOrder.BgrOrGray)
engine.ResetEngineBoxes()
Dim gtsoBox As GtsoBox = DirectCast(engine.ReadBox(fs, Jpeg2000BoxType.GtsoBox, 0), GtsoBox)
engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox)
fs.Close()
fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"))
' Save the image in JPX file format
engine.SaveComposite(codecs, fs, images, Jpeg2000FileFormat.LeadJpx, 24, 5)
' Append an XML box
Dim _xmlBox As New XmlBox()
_xmlBox.Data = xmlData
Dim xmlBoxes As New List(Of XmlBox)
xmlBoxes.Add(_xmlBox)
engine.AppendBoxes(fs, xmlBoxes)
' Clean up
fs.Close()
Dim _image As CompositeJpxImages
For Each _image In images
_image.ColorImage.Dispose()
_image.OpacityImage.Dispose()
_image.PreOpacityImage.Dispose()
Next _image
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
SaveComposite(RasterCodecs, String, List, Jpeg2000FileFormat, Int32, Int32)
Compression Using LEAD and JPEG Formats
File Formats - JPEG And LEAD Compressed
Bitmaps In Memory And In Files
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.